using CLELCore;

namespace CLELCore.Executable
{
	public static class MachineType
	{
		//any machine
		public const int Image_File_Machine_Unknown = 0x0;
		//Matsushita AM33
		public const int Image_File_Machine_AM33 = 0x1d3;
		//x64
		public const int Image_File_Machine_AMD64 = 0x8664;
		//arm little endian
		public const int Image_File_Machine_ARM = 0x1c0;
		//EFI byte code
		public const int Image_File_Machine_EBC = 0xebc;
		//Intel 386 or later processors and compatible processors
		public const int Image_File_Machine_I386 = 0x14c;
		//Intel Itanium family of processors
		public const int Image_File_Machine_IA64 = 0x200;
		//Mitsubishi M32R little endian
		public const int Image_File_Machine_M32R = 0x9041;
		//MIPS16
		public const int Image_File_Machine_MIPS16 = 0x266;
		//MIPS with FPU
		public const int Image_File_Machine_MIPSFPU = 0x366;
		//MIPS16 with FPU
		public const int Image_File_Machine_MIPSFPU16 = 0x466;
		//POWERPC little endian
		public const int Image_File_Machine_POWERPC = 0x1f0;
		//POWERPC with floating point support
		public const int Image_File_Machine_POWERPCFP = 0x1f1;
		//MIPS little endian
		public const int Image_File_Machine_R4000 = 0x166;
		//Hitachi SH3
		public const int Image_File_Machine_SH3 = 0x1a2;
		//Hitachi SH3 DSP
		public const int Image_File_Machine_SH3DSP = 0x1a3;
		//Hitachi SH4
		public const int Image_File_Machine_SH4 = 0x1a6;
		//Hitachi SH5
		public const int Image_File_Machine_SH5 = 0x1a8;
		//Thumb
		public const int Image_File_Machine_THUMB = 0x1c2;
		//MIPS little endian WCE v2
		public const int Image_File_Machine_WCEMIPSV2 = 0x169;
	}
}
